package com.es.gateway.sdk.app.face_search;

import com.es.gateway.sdk.util.GsonUtil;
import lombok.Data;
import java.util.List;

/**
 * 人脸搜索，响应对象，参考文档：https://esandinfo.yuque.com/yv6e1k/aa4qsg/gheu8p
 */
@Data
public class SearchFaceResponse {
    /**
     *响应状态码
     */
    private String code;
    /**
     * 请求id
     */
    private String requestId;
    /**
     * 响应描述
     */
    private String msg;
    /**
     * 匹配数据数组
     */
    private  List<matchList> matchList;
    public static class matchList {
        /**
         * 人脸数据对象
         */
        private FaceItems faceItems;
        /**
         * 人脸位置对象
         */
        private Location location;
    }

    public static class FaceItems {
        /**
         * 实体id
         */
        private String entityId;
        /**
         * 人脸的相似度，取值范围-1.0~1.0，取小数点后6位，数值越大相似度越高。
         */
        private double score;
        /**
         * 自定义信息
         */
        private String extraData;
    }

    public static class Location {
        /**
         * 人脸左上角x值
         */
        private double x;
        /**
         * 人脸左上角y值
         */
        private double y;
        /**
         * 人脸高度
         */
        private double height;
        /**
         * 人脸宽度
         */
        private double width;
    }
    public String toJsonStr(){
        return GsonUtil.getAllJson().toJson(this);
    }
    public static SearchFaceResponse fromJsonStr(String JsonStr){
      return GsonUtil.getAllJson().fromJson(JsonStr, SearchFaceResponse.class);
    }


}
